package com.tanhua.dubbo.api;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.tanhua.model.domain.mysql.UserInfo;

import java.util.List;
import java.util.Map;

public interface UserInfoApi {

    /**
     * description: 保存用户基本信息 <br>
     * version: 1.0 <br>
     * date: 2021/11/14 19:28 <br>
     * author: SangWu <br>
     *
     * @param userInfo
     * @return void
     */
    void save(UserInfo userInfo);

    /**
     * description: 更新用户信息 <br>
     * version: 1.0 <br>
     * date: 2021/11/14 19:29 <br>
     * author: SangWu <br>
     *
     * @param userInfo
     * @return void
     */
    void update(UserInfo userInfo);

    /**
     * description: 查询用户信息 <br>
     * version: 1.0 <br>
     * date: 2021/11/14 19:30 <br>
     * author: SangWu <br>
     *
     * @param id
     * @return com.tanhua.model.domain.mysql.UserInfo
     */
    UserInfo findById(Long id);

    /**
     * description: 分页查询用户信息 通过 ids,userInfo条件 <br>
     * version: 1.0 <br>
     * date: 2021/11/16 16:13 <br>
     * author: SangWu <br>
     *
     * @param page
     * @param pageSize
     * @param ids
     * @param userInfo
     * @return java.util.Map<java.lang.Long, com.tanhua.model.domain.mysql.UserInfo>
     */
    Map<Long, UserInfo> findByIds(Integer page, Integer pageSize, List<Long> ids, UserInfo userInfo);

    /**
     * 分页查询所有
     *
     * @param page
     * @param pagesize
     * @return
     */
    IPage<UserInfo> findAll(Integer page, Integer pagesize);
}